package cau.se.project.data.method;

import java.util.List;

import javax.swing.tree.TreeNode;

public interface RowControl extends TreeNode {
	
	/**
	 * 행의 이름을 변경한다
	 * @param newName 행의 새 이름
	 */
	public void
		setName(String newName);
	
	/**
	 * 행의 이름을 반환한다
	 * @return
	 */
	public String
		getName();
	
	/**
	 * 인자로 전달되는 열의 dependency를 해제한다
	 * @param row
	 * @throws Exception
	 */
	public void 
		removeDependency(RowControl row);
	
	/**
	 * 인자로 전달되는 열의 dependency를 세팅한다
	 * @param row
	 * @throws Exception
	 */
	public void
		setDependency(RowControl row);
	
	/**
	 * dependency 리스트를 반환
	 * @return
	 */
	public List<RowControl> 
		getDepenencyList();
	
	/**
	 * 부모 노드를 설정한다
	 * @param parent
	 */
	public void
		setParent(GroupControl parent);
	
	/**
	 * root로부터의 깊이를 가져온다
	 * @return
	 */
	public int
		getDepth();
}
